Three-dimensional reconstruction of automated lighting fixtures and their operational capabilities

ABSTRACT

Systems and methods for generating a three-dimensional model of a lighting fixture. The systems include a controller that includes an electronic processor coupled to a memory. The memory is configured to store instructions that when executed by the electronic processor configure the controller to receive first scanning data related to a lighting fixture while the lighting fixture is in a first configuration, receive second scanning data related to the lighting fixture after an adjustment to the lighting fixture to a second configuration, compare the first scanning data and the second scanning data, perform three-dimensional mesh reconstruction based on the first scanning data and the second scanning data, and generate the three-dimensional model based on the first configuration of the lighting fixture and the second configuration of the lighting fixture representing an operational capability of the lighting fixture.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/777,481, filed on Dec. 10, 2018, which is herebyincorporated by reference in its entirety.

FIELD

Embodiments described herein relate to determining operationalcapabilities of a lighting fixture.

SUMMARY

Every lighting fixture has particular operational capabilities includingboth kinematic capabilities and lighting capabilities. Kinematiccapabilities include panning and tilting on multiple axes to direct thebeam(s) of light produced by the lighting fixture, zooming, focusing,utilizing go-between or go-before optics templates (“gobos”), narrowingan iris, opening and closing shutters, and the like. The lightingcapabilities include altering the power (e.g., using pulse widthmodulation) to the light source (e.g., one or more light emittingdiodes) to change lighting features such as brightness, duration, color,and the like. Based on the various kinematic and/or lightingcapabilities, a lighting fixture may be configured in a variety ofoperational states. Because of the number of light control operationsand light manipulation accessories that can be placed on a lightingfixture, combined with the number of varying lighting fixtureconstructions, fully understanding the operational capabilities of anyone particular lighting fixture is difficult.

Currently, a user must have in-depth knowledge of a particular lightingfixture to assess the lighting fixture's operational capabilities. Thisknowledge is typically gained through experience with the particularlighting fixture through either testing or previous use in lightingtasks. Visualizing an entire arrangement of lighting fixtures capable ofaccomplishing particular lighting tasks, therefore, requires a veryexperienced lighting technician. Even with an experienced technician, agood deal of guesswork is necessary to achieve a satisfactory lightingresult for a lighting task. A guessing and checking set up technique fora lighting fixture arrangement uses valuable time and energy. Often, theevent for which the lighting fixture arrangement is being set up alsohas a firm deadline, making inefficiencies in set up undesirable.

Further, requiring a person of exceptional experience and skill toproduce this information would be costly and inconvenient. Evenemploying several experienced users to analyze and log the operationalcapabilities of lighting fixtures would be costly. Also, human errorwould result in the data not being entirely reliable. As a result, it islikely potential lighting effects would be missed or erroneouslyidentified.

Although a particular lighting fixture arrangement may be suitable for asingle lighting effect, the particular lighting fixture arrangement maymake other lighting effects impossible. The user, therefore, must keeptrack of the capabilities of many lighting fixtures as well as manydesired lighting effects. Using existing methodologies, it is unlikelythat the best possible lighting fixture arrangement is discovered andutilized in the limited time for set up before an event. Rather, asatisfactory but less than ideal lighting fixture arrangement is settledupon even when improvements could be available.

More variables are introduced if a user considers potential lightingfixtures that are not present at the current venue but could be obtainedto be used at the current venue. This consideration opens up thepossibility for a more optimal lighting arrangement, but also forces theuser to then consider many more variables with regard to the operationalcapabilities of countless hypothetical lighting arrangements.

Additionally, other hypothetical lighting effects could be produced ifenough data about all the possible lighting fixtures and theirrespective operational capabilities were known. These hypotheticallighting effects could be presented to the stage director or concertorganizer as lighting options for the event, thereby allowing morecreative freedom for the event. No matter how experienced, a user of thelighting fixtures cannot comprehend and convey all the possibilities ofall the potential lighting fixture arrangements available at a givenvenue.

To address the above concerns, systems and methods described hereinprovide for rendering of hypothetical lighting fixture arrangements in avirtual environment. Such a virtual environment could be static orinteractive. The virtual environment helps visualize potential lightingeffects with regard to any particular lighting fixture arrangement.Further, the virtual environment helps identify appropriate lightingfixture arrangements for a desired lighting effect. The virtualenvironment also helps the user create and evaluate various lightingcompositions. Operational capabilities of lighting fixtures areidentified and cataloged without requiring the knowledge and/or time ofa skilled lighting technician would be desirable. The data related toeach lighting fixture can be added to a database for use with, forinstance, the virtual environment.

Methods described herein provide for generating a three-dimensionalmodel of a lighting fixture. The methods include receiving, by anelectronic processor, first scanning data related to the lightingfixture while the light fixture is in a first configuration, adjustingthe configuration of the lighting fixture, receiving, by the electronicprocessor, second scanning data related to the lighting fixture whilethe lighting fixture is in a second configuration, comparing, by theelectronic processor, the first scanning data and the second scanningdata, performing, by the electronic processor, three-dimensional meshreconstruction based on the first scanning data and the second scanningdata, and generating, by the electronic processor, the three-dimensionalmodel based on the first configuration of the lighting fixture and thesecond configuration of the lighting fixture representing an operationalcapability of the lighting fixture.

In some embodiments, initial knowledge of the capabilities is known tothe system. This initial knowledge is used to bootstrap the process. Insome embodiments, an expert user guides the system through the processsteps of the methods disclosed herein.

In some embodiments, the methods include adjusting the configuration ofthe lighting fixture includes panning the lighting fixture, tilting thelighting fixture, zooming the lighting fixture, moving a shutter of thelighting fixture, moving an iris of the lighting fixture, adding a goboin the lighting fixture, and/or rotating a gobo in the lighting fixture.

In some embodiments, the methods include approximating, by theelectronic processor or manually, a pan axis of the lighting fixturebased on the comparing of the first scanning data and the secondscanning data, and/or approximating, by the electronic processor ormanually, a tilt axis of the lighting fixture based on the comparing ofthe first scanning data and the second scanning data.

In some embodiments, the adjusting the configuration of the lightingfixture includes adjusting a color of light produced by the lightingfixture, adjusting a brightness of light produced by the lightingfixture, adjusting an overall shape of light produced by the lightingfixture, and/or adjusting a focus of a light produced by the lightingfixture.

In some embodiments, the adjusting the configuration of the lightingfixture includes transmitting, by the electronic processor, drivesignals to the lighting fixture to control of an actuator associatedwith the lighting fixture.

In some embodiments, the methods include transmitting, by the electronicprocessor, drive signals to one or more cameras configured to capturethe first scanning data and the second scanning data.

In some embodiments, the first scanning data and the second scanningdata include one of images of the lighting fixture and images of lightprojected on a surface by the lighting fixture.

In some embodiments, the methods include receiving, by the electronicprocessor, a selected operation of the lighting fixture, determining, bythe electronic processor, a limitation of operation of the lightingfixture based on the three-dimensional model, and indicating, on a userinterface, the limitation of the operation of the lighting fixture inresponse to the selected operation of the lighting fixture.

In some embodiments, the methods include generating, by the electronicprocessor, one or more drive signals for an actuator associated with thelighting fixture to control the lighting fixture in accordance with theoperational capability.

Systems described herein provide for generating a three-dimensionalmodel of a lighting fixture. The systems include a controller thatincludes an electronic processor coupled to a memory. The memory isconfigured to store instructions that when executed by the electronicprocessor configure the controller to receive first scanning datarelated to a lighting fixture while the lighting fixture is in a firstconfiguration, receive second scanning data related to the lightingfixture after an adjustment to the lighting fixture to a secondconfiguration, compare the first scanning data and the second scanningdata, perform three-dimensional mesh reconstruction based on the firstscanning data and the second scanning data and generate thethree-dimensional model based on the first configuration of the lightingfixture and the second configuration of the lighting fixturerepresenting an operational capability of the lighting fixture.

In some embodiments, the controller is further configured to pan thelighting fixture, tilt the lighting fixture, zoom the lighting fixture,move a shutter of the lighting fixture, move an iris of the lightingfixture, add a gobo in the lighting fixture, and/or rotate the gobo inthe lighting fixture.

In some embodiments, the controller is further configured to approximatea pan axis of the lighting fixture based on the comparison of the firstscanning data and the second scanning data, and/or approximate a tiltaxis of the lighting fixture based on the comparison of the firstscanning data and the second scanning data.

In some embodiments, the controller is further configured to approximateother kinematic axes (in addition to or alternatively to the pan andtilt axes) of the lighting fixture based on the comparison of scanningdata.

In some embodiments, the adjustment to the lighting fixture includes acolor adjustment, a brightness adjustment, a shape of the light producedadjustment, and/or a focus adjustment.

In some embodiments, the controller is further configured to transmitdrive signals to the lighting fixture to control an actuator associatedwith the lighting fixture.

In some embodiments, the controller is further configured to transmitdrive signals to one or more cameras configured to capture the firstscanning data and the second scanning data.

In some embodiments, the first scanning data and the second scanningdata include one of images of the lighting fixture and images of lightprojected on a surface by the lighting fixture.

In some embodiments, the controller is further configured to receive aselected operation of the lighting fixture, determine a limitation ofoperation of the lighting fixture based on the three-dimensional model,and indicate the limitation of the operation of the lighting fixture inresponse to the selected operation of the lighting fixture.

Computer readable media described herein have stored thereon a programfor generating a three-dimensional model of a lighting fixture. Theprogram is executable by an electronic processor to configure theelectronic processor to receive first scanning data related to thelighting fixture while the light fixture is in a first configuration,receive second scanning data related to the lighting fixture while thelighting fixture is in a second configuration, compare the firstscanning data and the second scanning data, perform three-dimensionalmesh reconstruction based on the first scanning data and the secondscanning data, and generate the three-dimensional model based on thefirst configuration of the lighting fixture and the second configurationof the lighting fixture representing an operational capability of thelighting fixture.

In some embodiments, the program further configures the electronicprocessor to adjust a pan, a tilt, a zoom, a shutter, an iris, and/or agobo of the lighting fixture.

In some embodiments, the program further configures the electronicprocessor to approximate a pan axis of the lighting fixture based on thecomparison of the first scanning data and the second scanning data,and/or approximate a tilt axis of the lighting fixture based on thecomparison of the first scanning data and the second scanning data.

In some embodiments, the program further configures the electronicprocessor to adjust a color of light produced by the lighting fixture, abrightness of light produced by the lighting fixture, an overall shapeof light produced by the lighting fixture, and/or a focus of a lightproduced by the lighting fixture.

In some embodiments, the program further configures the electronicprocessor to transmit drive signals to the lighting fixture to controlan actuator associated with the lighting fixture.

In some embodiments, the program further configures the electronicprocessor to transmit drive signals to one or more cameras configured tocapture the first scanning data and the second scanning data.

In some embodiments, the first scanning data and the second scanningdata include one of images of the lighting fixture and images of lightprojected on a surface by the lighting fixture.

In some embodiments, the program further configures the electronicprocessor to receive a selected operation of the lighting fixture,determine a limitation of operation of the lighting fixture based on thethree-dimensional model, and indicate, on a user interface, thelimitation of the operation of the lighting fixture in response to theselected operation of the lighting fixture.

Before any embodiments are explained in detail, it is to be understoodthat the embodiments are not limited in its application to the detailsof the configuration and arrangement of components set forth in thefollowing description or illustrated in the accompanying drawings. Theembodiments are capable of being practiced or of being carried out invarious ways. Also, it is to be understood that the phraseology andterminology used herein are for the purpose of description and shouldnot be regarded as limiting. The use of “including,” “comprising,” or“having” and variations thereof are meant to encompass the items listedthereafter and equivalents thereof as well as additional items. Unlessspecified or limited otherwise, the terms “mounted,” “connected,”“supported,” and “coupled” and variations thereof are used broadly andencompass both direct and indirect mountings, connections, supports, andcouplings.

In addition, it should be understood that embodiments may includehardware, software, and electronic components or modules that, forpurposes of discussion, may be illustrated and described as if themajority of the components were implemented solely in hardware. However,one of ordinary skill in the art, and based on a reading of thisdetailed description, would recognize that, in at least one embodiment,the electronic-based aspects may be implemented in software (e.g.,stored on non-transitory computer-readable medium) executable by one ormore processing units, such as a microprocessor and/or applicationspecific integrated circuits (“ASICs”). As such, it should be noted thata plurality of hardware and software based devices, as well as aplurality of different structural components, may be utilized toimplement the embodiments. For example, “servers” and “computingdevices” described in the specification can include one or moreprocessing units, one or more computer-readable medium modules, one ormore input/output interfaces, and various connections (e.g., a systembus) connecting the components.

Other aspects of the embodiments will become apparent by considerationof the detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system to analyze a lighting fixture and loginformation for later access with a user device.

FIG. 1A illustrates an alternative system to analyze a lighting fixtureand log information for later access with a user device.

FIG. 2 illustrates a controller for the system of FIG. 1.

FIG. 2A illustrates a controller for the system of FIG. 1A.

FIG. 3 illustrates cameras and a lighting fixture in a scanningarrangement for the system of FIG. 1.

FIG. 3A illustrates cameras and a lighting fixture in a scanningarrangement for the system of FIG. 1A.

FIG. 4 illustrates a perspective view of the lighting fixture of FIGS. 3and 3A.

FIG. 5 illustrates a front elevation view of the lighting fixture ofFIG. 4 in a home position.

FIG. 6 illustrates a front elevation view of the lighting fixture ofFIG. 4 in a position different from the home position.

FIG. 7 illustrates a side elevation view of the lighting fixture of FIG.4 projecting light onto a surface of an enclosure.

FIG. 8 illustrates cameras and another lighting fixture in a scanningarrangement for the system of FIG. 1.

FIG. 8A illustrates cameras and another lighting fixture in a scanningarrangement for the system of FIG. 1A.

FIG. 9 illustrates a front elevation view of the lighting fixture ofFIGS. 8 and 8A.

FIG. 10 illustrates a font elevation view of the lighting fixture ofFIG. 9 in a home position.

FIG. 11 illustrates a perspective view of the lighting fixture of FIG.9.

FIG. 12 illustrates a flowchart of an example mapping method of thesystem of FIGS. 1 and/or 1A.

DETAILED DESCRIPTION

Measuring and logging the operational capabilities of a given lightfixture is time consuming, tedious, and prone to mistakes and inaccuracywhen done by hand. Additionally, proper analysis of the operationalcapabilities of a given lighting fixture must be done by someone veryfamiliar with the given lighting fixture or with substantially similarlighting fixtures. To address these and other technical problemsassociated with measuring, logging, and using the operationalcapabilities of a lighting fixture, embodiments described herein scanthe given lighting fixture and log the scan data in a database to createa digital model for the lighting fixture.

For example, FIG. 1 illustrates a system 100 for analyzing a lightingfixture 102. The system 100 includes a user input device 104A-104D, acontrol board or control panel 106, a lighting fixture 102, one or morecameras 108, a network 110, and a server-side mainframe computer orserver 112. The user input device 104A-104D includes, for example, apersonal or desktop computer 104A, a laptop computer 104B, a tabletcomputer 104C, or a mobile phone (e.g., a smart phone) 104D. Other userinput devices 104A-104D include, for example, an augmented realityheadset or glasses. The camera 108 may be integrated with the user inputdevice 104, such as the camera of the mobile phone 104D, or the cameras108 may be entirely separate from the user input device 104A-104D.Although cameras 108 are being described specifically herein, the system100 (and/or 100A below) may utilize one or more cameras, stereo cameras,LIDAR, projected light depth cameras, or the like.

The user input device 104A-104D is configured to communicatively connectto the server 112 through the network 110 and provide information to, orreceive information from, the server 112 related to the control oroperation of the system 100. The user input device 104A-104D is alsoconfigured to communicatively connect to the control board 106 toprovide information to, or receive information from, the control board106. The connections between the user input device 104 and the controlboard 106 or network 110 are, for example, wired connections, wirelessconnections, or a combination of wireless and wired connections.Similarly, the connections between the server 112 and the network 110,the control board 106 and the lighting fixtures 102, or the controlboard 106 and the cameras 108 are wired connections, wirelessconnections, or a combination of wireless and wired connections.

The network 110 is, for example, a wide area network (“WAN”) (e.g., aTCP/IP based network), a local area network (“LAN”), a neighborhood areanetwork (“NAN”), a home area network (“HAN”), or personal area network(“PAN”) employing any of a variety of communications protocols, such asWi-Fi, Bluetooth, ZigBee, etc. In some implementations, the network 110is a cellular network, such as, for example, a Global System for MobileCommunications (“GSM”) network, a General Packet Radio Service (“GPRS”)network, a Code Division Multiple Access (“CDMA”) network, anEvolution-Data Optimized (“EV-DO”) network, an Enhanced Data Rates forGSM Evolution (“EDGE”) network, a 3GSM network, a 4GSM network, a 4G LTEnetwork, a 5G New Radio, a Digital Enhanced Cordless Telecommunications(“DECT”) network, a Digital AMPS (“IS-136/TDMA”) network, or anIntegrated Digital Enhanced Network (“iDEN”) network, etc.

FIG. 1A illustrates an alternative system 100A for analyzing a lightingfixture 102. The alternative system 100A is identical to the system 100,except the control board or control panel 106 is removed. As such, theuser input device 104A-104D is configured to communicatively connect tothe lighting fixture 102 and to the cameras 108. The connections betweenthe user input device 104A-104D and the lighting fixture 102 and theconnections between the user input device 104A-104D and the cameras 108are wired connections, wireless connections, or a combination ofwireless and wired connections.

FIG. 2 illustrates a controller 200 for the system 100. The controller200 is electrically and/or communicatively connected to a variety ofmodules or components of the system 100. For example, the illustratedcontroller 200 is connected to one or more indicators 202 (e.g., LEDs, aliquid crystal display [“LCD”], etc.), a user input or user interface204 (e.g., a user interface of the user input device 104A-104D in FIG.1), and a communications interface 206. The controller 200 is alsoconnected to the control board 106. The communications interface 206 isconnected to the network 110 to enable the controller 200 to communicatewith the server 112. The controller 200 includes combinations ofhardware and software that are operable to, among other things, controlthe operation of the system 100, control the operation of the lightingfixture 102, control the operation of the cameras 108, receive one ormore signals from the cameras 108, communicate over the network 110,communicate with the control board 106, receive input from a user viathe user interface 204, provide information to a user via the indicators202, etc. In some embodiments, the indicators 202 and the user interface204 is integrated together in the form of, for instance, a touch-screen.

In the embodiment illustrated in FIG. 2, the controller 200 isassociated with the user input device 104A-104D. As a result, thecontroller 200 is illustrated in FIG. 2 as being connected to thecontrol board 106 which is, in turn, connected to the lighting fixture102 and the cameras 108. In other embodiments, the controller 200 isincluded within the control board 106, and, for example, the controller200 can provide control signals directly to the lighting fixture 102 andthe cameras 108. In other embodiments, the controller 200 is associatedwith the server 112 and communicates through the network 110 to providecontrol signals to the control board 106, the lighting fixture 102, andthe cameras 108.

The controller 200 includes a plurality of electrical and electroniccomponents that provide power, operational control, and protection tothe components and modules within the controller 200 and/or the system100. For example, the controller 200 includes, among other things, aprocessing unit 208 (e.g., an electronic processor, a microprocessor, amicrocontroller, or another suitable programmable device), a memory 210,input units 212, and output units 214. The processing unit 208 includes,among other things, a control unit 216, an arithmetic logic unit (“ALU”)218, and a plurality of registers 220 (shown as a group of registers inFIG. 2), and is implemented using a known computer architecture (e.g., amodified Harvard architecture, a von Neumann architecture, etc.). Theprocessing unit 208, the memory 210, the input units 212, and the outputunits 214, as well as the various modules or circuits connected to thecontroller 200 are connected by one or more control and/or data buses(e.g., common bus 222). The control and/or data buses are showngenerally in FIG. 2 for illustrative purposes. The use of one or morecontrol and/or data buses for the interconnection between andcommunication among the various modules, circuits, and components wouldbe known to a person skilled in the art in view of the inventiondescribed herein.

The memory 210 is a non-transitory computer readable medium andincludes, for example, a program storage area and a data storage area.The program storage area and the data storage area can includecombinations of different types of memory, such as a ROM, a RAM (e.g.,DRAM, SDRAM, etc.), EEPROM, flash memory, a hard disk, an SD card, orother suitable magnetic, optical, physical, or electronic memorydevices. The processing unit 208 is connected to the memory 210 andexecutes software instructions that are capable of being stored in a RAMof the memory 210 (e.g., during execution), a ROM of the memory 210(e.g., on a generally permanent basis), or another non-transitorycomputer readable medium such as another memory or a disc. Softwareincluded in the implementation of the system 100 and controller 200 canbe stored in the memory 210 of the controller 200. The softwareincludes, for example, firmware, one or more applications, program data,filters, rules, one or more program modules, and other executableinstructions. The controller 200 is configured to retrieve from thememory 210 and execute, among other things, instructions related to thecontrol processes and methods described herein. In other embodiments,the controller 200 includes additional, fewer, or different components.

The user interface 204 is included to provide user control of the system100, the lighting fixture 102, and/or the camera 108. The user interface204 is operably coupled to the controller 200 to control, for example,drive signals provided to the lighting fixture 102 and/or drive signalsprovided to the camera 108. The user interface 204 can include anycombination of digital and analog input devices required to achieve adesired level of control for the system 100. For example, the userinterface 204 can include a computer having a display and input devices,a touch-screen display, a plurality of knobs, dials, switches, buttons,faders, or the like. In the embodiment illustrated in FIG. 2, the userinterface 204 is separate from the control board 106. In otherembodiments, the user interface 204 is included in the control board106.

The controller 200 is configured to work in combination with the controlboard 106 to provide direct control or drive signals to the lightingfixture 102 and/or the cameras 108. As described above, in someembodiments, the controller 200 is configured to provide direct drivesignals to the lighting fixture 102 and/or the cameras 108 withoutseparately interacting with the control board 106 (e.g., the controlboard 106 includes the controller 200). The direct drive signals thatare provided to the lighting fixture 102 and/or the cameras 108 areprovided, for example, based on a user input received by the controller200 from the user interface 204. The controller 200 is also configuredto receive one or more signals from the cameras 108 related to image orscan data.

As shown in FIG. 2A and described above, the system 100A includes thecontroller 200 configured to work without the control board 106, suchthat the controller 200 is configured to provide signals to the lightingfixture 102 and/or the cameras 108 and to receive one or more signalsfrom the cameras 108 related to image or scan data.

FIG. 3 illustrates the control board 106, the lighting fixture 102, thecameras 108, and the user input device 104A-104D of the system 100 in ascanning arrangement. The lighting fixture 102 is disposed in a scanningenclosure 300. The scanning enclosure 300 provides a known backgroundagainst which the lighting fixture 102 is scanned by the cameras 108.The scanning enclosure 300 may also receive light from the lightingfixture 102 on one or more light receiving surfaces 302 (see FIG. 7),which may also be scanned by the cameras 108. The user input device104A-104D and/or the control board 106 directs the lighting fixture 102to move to various positions. For example, FIG. 4 illustrates the lightfixture 102 in a first position (e.g., a forward-facing position). FIG.5 illustrates the light fixture 102 in a second position (e.g., a homeposition). FIG. 6 illustrates the light fixture 102 in a third position(e.g., a non-home position). FIG. 7 illustrates the light fixture 102 ina fourth position (e.g., a left-facing position) and projecting lightonto the surface 302 of the enclosure 300.

FIG. 3A illustrates the system 100A in a scanning arrangement. Asdescribed above, the system 100A removes the control board 106, and theuser input device 104A-104D is configured to directly communicate withthe lighting fixture 102 and the cameras 108.

The cameras 108 capture image or scan data of the lighting fixture 102at the various positions, which is then correlated with the respectivelighting fixture position settings information. The scan data isprocessed and interpreted through programming such as, for instance, asimultaneous localization and mapping (“SLAM”) program, an edgedetection algorithm for detecting edges (e.g., the extent) of the lightfixture 102, etc. Other embodiments may utilize structured light, alight-field, light detection and ranging (“LIDAR”), or the like. Basedon the scan data, the controller 200 generates a point cloud. Thecontroller 200 performs three-dimensional mesh reconstruction ordetermines three-dimensional mesh reconstruction parameters using pointcould reconstruction techniques to account for surface smoothness,visibility, volumetric smoothness, geometric primitives, globalregularity, and other point cloud reconstruction factors. The controller200 uses the three-dimensional mesh reconstruction or parameters formesh segmentation (e.g., using an object segmentation algorithm such asa conditional random field objective function) and backgroundsubtraction. The controller 200 then generates a digital model of thelighting fixture 102 (e.g., using a marching cubes algorithm, a marchingtetrahedrons algorithm, the Bloomenthal Polygonizer, or anotheralgorithm for selecting polygons representing portions of the model).The digital model can indicate to a user the operational capabilities ofthe lighting fixture 102. The operational capabilities can be displayed(e.g., in the user interface 204) as, for instance, one or more tables,one or more graphs or charts, a three-dimensional rendering of thelighting fixture and/or the light patterns produced by the lightingfixture, and the like.

Additional examples of known methods of scanning objects and recordingthe scan data can be found in U.S. Patent Application Publication No.2012/0306876, published on Dec. 6, 2012, and U.S. Patent ApplicationPublication No. 2016/0071318, published on Mar. 10, 2016, the entirecontents of which are hereby incorporated by reference.

In some embodiments, the cameras 108 capture only images of the lightreceiving surface 302 of the enclosure 300 as the light is projected onthe receiving surface 302. Data gathered by the cameras 108 of the lightprojected on the light receiving surface 302 can be evaluated todetermine where the light falls on the color spectrum (e.g., withrespect to the CIE 1931 color space), the intensity of the light atvarious locations on the light receiving surface 302, and the like.

FIG. 8 illustrates the system 100 in a scanning arrangement similar tothat described above with regard to FIG. 3, but the lighting fixture 102is of a different design. FIG. 8A illustrates the system 100A in ascanning arrangement similar to that described above with regard to FIG.3A, but the lighting fixture 102 of a different design. FIG. 9illustrates the light fixture 102 in a first position (e.g., aforward-facing position). FIG. 10 illustrates the light fixture 102 in asecond position (e.g., a home position). FIG. 11 illustrates the lightfixture 102 in a third position (e.g., a non-home position).

As shown in FIG. 12, the system 100, 100A may operate according to amethod 1200 of digitally modeling a lighting fixture 102. The modelingof the lighting fixture 102 is based on various operational states ofthe lighting fixture 102. The operational states include kinematic orpositional states (e.g., movement and/or positional capabilities) of thelighting fixture 102. In some embodiments, the operational statesadditionally or alternatively include various lighting states (e.g.,lighting effects or capabilities) of the lighting fixture 102. Themethod 1200 includes placing the lighting fixture 102 in the scanningzone (such as in the enclosure 300) of the one or more cameras 108 withthe lighting fixture 102 in the home position or configuration (e.g., asshown in FIG. 5 or FIG. 10). The light produced by the lighting fixture102 is also set to “on” with default settings (STEP 1201).

The method 1200 also includes scanning, with the cameras 108, thelighting fixture 102 and the light produced by the lighting fixture 102(along with the background environment in the enclosure 300). The scandata is sent from the cameras 108 to the controller 200 (STEP 1202).When scanning the light produced by the lighting fixture 102, thecameras 108 capture images of a light receiving surface 302 as the lightis projected on the receiving surface 302. The user may move thelighting fixture 102 through a series of manual commands (e.g., via theuser input device 104 and/or the control board 106). In someembodiments, the controller 200 executes a program that configures thecontroller 200 to control the movement or make other adjustments of thelighting fixture 102 in a predetermined pattern. The program may alsoconfigure the controller to receive and/or monitor scan datacorresponding to the programmed movements or other adjustments of thelighting fixture 102. In some embodiments, program configures thecontroller 200 to control the cameras 108 to capture image or scan datacorresponding to the programmed movements or other adjustments of thelighting fixture 102.

The method 1200 further includes the controller 200 determining whataspects of the scan data correspond to the lighting fixture 102 and thelight produced from the light fixture 102, determining what aspects ofthe scan data correspond to the enclosure 300, and subtracting orremoving the aspects of the scan data corresponding to the enclosure 300from the scan data (STEP 1203). In some embodiments, the controller 200determines that aspects of the scan data relating to a certain colorrepresent the enclosure 300, such as when using a bright green enclosure300 or a white enclosure 300 surrounding the lighting fixture 102 andone or more cameras 108. The controller 200 can then remove theseidentified aspects of the enclosure from the scan data to leave only theaspects related to the light fixture.

The method 1200 also includes the controller 200 determining whether thecameras 108 should next scan the lighting fixture 102 in a newpositional arrangement (e.g., a kinematic feature) based on one of manyindividually adjustable aspects of the lighting fixture 102 (STEP 1204).These adjustable aspects include, for instance, a pan of the lightingfixture 102, a tilt of the lighting fixture 102, an exterior shutteradjustment of the lighting fixture 102, a focus or zoom causing movementof exterior portions of the lighting fixture 102, or the like.Additionally or alternatively, the controller 200 determines whether thecameras 108 should next scan the light produced by the lighting fixture102 (e.g., a light feature) while the lighting controls of the lightingfixture 102 are at a different setting (e.g., a lighting fixtureconfiguration). The lighting controls settings include, for instance,brightness, color, duration, focus, shape, and the like. The kinematicfeatures and lighting features of the lighting fixture 102 correspond tocontrol parameters for the lighting fixture 102. The determination ofwhether to scan kinematic features or lighting features may be mademanually by a user command (STEP 1204). Additionally or alternatively,the controller 200 operates according to a predetermined scan routine.In some embodiments, the controller 200 logs the scan data sequentiallyaccording to the current scanning task (e.g., for panning rotation).

If the controller 200 determines at STEP 1204 to proceed with measuringa lighting feature, the method 1200 further includes the controller 200adjusting a lighting setting of the light produced by the lightingfixture 102 by changing one or more of the brightness, color, duration,focus, shape, or some combination thereof, of the light produced by thelighting fixture 102 (STEP 1205A).

If the controller determines at STEP 1204 to proceed with measuring akinematic feature, the method 1200 further includes the controller 200moving the lighting fixture 102 to a new positional arrangement bychanging one or more of the individually adjustable aspects of thelighting fixture 102, such as panning the lighting fixture 102 andsaving the new pan location data for comparison, tilting the lightingfixture 102 and saving the new tilt location data for comparison, someother positional change, or some combination thereof (STEP 1205B). Insome embodiments, the user manually adjusts the lighting fixture 102 toeach new position instead of the controller 200.

The controller 200 controls the power supplied to the lighting fixture102 and can communicate with one or more actuators or motors connectedto or associated with the lighting fixture 102 (e.g., housed internallywithin the light fixture 102) to command the adjustments of the lightingfixture 102. Additionally or alternatively, the controller 200 outputs acommand signal to the user to adjust the lighting fixture 102 to the newlighting arrangement or positional arrangement either manually orthrough use of a control interface connected to the lighting fixture,such as the lighting control console 106.

After the light produced by the lighting fixture 102 has been changed tothe new lighting setting or the lighting fixture 102 has been moved tothe new positional arrangement, the method 1200 further includesscanning, with the cameras 108, the lighting fixture 102 and thebackground environment or the light produced by the lighting fixture 102again (STEP 1206) in a similar manner as described above (e.g., using aSLAM program). The method 1200 then includes the controller 200 removingthe background aspects of the scan data (STEP 1207) as previouslydescribed with respect to STEP 1203.

The method 1200 further includes the controller 200 analyzing the scandata from the first scan, where the lighting fixture 102 was in the homeposition and the light produced by the lighting fixture was set to thedefault setting, and the scan data from the subsequent scan, where thelight produced by the lighting fixture 102 was at the new setting and/orthe lighting fixture 102 was in the new positional arrangement. Thefirst scan and the one or more subsequent scans are compared by thecontroller 200 to determine the differences between the scans toapproximate an operational characteristic or trait of the lightingfixture 102 (STEP 1208).

For example, the operational trait may include any movement feature ofthe lighting fixture 102 including, for instance, the pan axis, the tiltaxis, the zoom axis, the extreme limits of a given motion, the shutteradjustments, the iris adjustments, and the like. In some embodiments,positional data of many discrete points on the lighting fixture 102 arescanned while the lighting fixture 102 is in a home position (see FIG.5). These points on the lighting fixture 102 can be used as referencepoints. After the movement of the lighting fixture 102, the controller200 identifies several discrete points on the lighting fixture havemoved. With multiple scans while the lighting fixture 102 is in multiplemovement positions, the controller 200 detects that at least some ofthese discrete points on the lighting fixture have moved, for example,along an arcuate pathway. The controller 200 approximates a radius ofcurvature with regard to the arcuate pathway of each of the discretepoints on the lighting fixture 102 and designates an axis of rotation.If the discrete points on the lighting fixture 102 have moved, forexample, along a linear pathway, the controller 200 approximates an axisof translation (e.g., a pan axis, a tilt axis, etc.).

The operational trait may instead include any adjustment capabilities ofthe light produced by the lighting fixture 102 including, for instance,the brightness, color, duration, focus, shape, or some combinationthereof. The change in the lighting feature produced by the lightingfixture 102 can be caused by one or more adjustments including, forinstance, a change in the pulse width modulation of the power suppliedto one or more light emitting diodes, a change in the combination ofactivated light emitting sources of the lighting fixture 102, anadjustment of an iris of the lighting fixture 102, and adjustment of ashutter of the lighting fixture 102, the introduction or removal of agobo, the introduction or removal of a prism, operation of an animationwheel, and the like. Data gathered by the cameras 108 of the lightprojected on the light receiving surface 302 can be evaluated todetermine where the light falls on the color spectrum (e.g., withrespect to the CIE 1931 color space), the intensity of the light atvarious locations on the light receiving surface 302, or the like.

The controller 200 then determines whether enough data points wereidentified with the performed scans to determine the operational traitwith sufficient accuracy (STEP 1209). For instance, if an axis ofrotation is determined by observing a radius of curvature for an arcuatemotion of discrete points on the lighting fixture 102, the controller200 compares the axes of rotation corresponding to different discretepoints. If two discrete points return different axes of rotation thatare separated by a distance that exceeds a tolerance threshold, thecontroller 200 can perform another scan with different or additionaldiscrete points on the lighting fixture 102. If the error threshold isexceeded (i.e., the operational traits are not determined withsufficient accuracy), the method 1200 returns to STEP 1204. In thisinstance of returning to STEP 1204, the previous scan data may bediscarded, or it may be retained to augment the three-dimensionalreconstruction through iteration and improvement with the additionalscan(s). If the error threshold is not exceeded (i.e., the operationaltraits are determined with sufficient accuracy), the method 1200proceeds to STEP 1210.

With regard to the lighting settings, the shape, for example, of thelight produced by the lighting fixture 102 is determined by evaluatingthe light intensity on the light receiving surface 302 to determinewhere the light intensity begins to sharply decline. If the estimatededge of the light produced by the lighting fixture 102 on the lightreceiving surface 302 is uniform enough to determine a linear or arcuateboundary line within a tolerance threshold (e.g., has an identifiableshape), the method 1200 proceeds to STEP 1210. If the estimated edge ofthe light produced by the lighting fixture 102 on the light receivingsurface 302 is too scattered to determine a linear or arcuate boundaryline within the tolerance threshold, the controller 200 can performanother scan with additional granularity to obtain more data points(STEP 1204). The more granular scan can be used to provide a moreaccurate estimate of the edge of the light on the light receivingsurface 302. Similar determinations can be made with respect to otherlighting features (e.g., color with respect to the CIE 1931 colorspace).

The controller 200 then determines if all of the possible movements ofthe lighting fixture 102 have been performed and correspondingly scanned(STEP 1210). For example, whether the one or more motors coupled to orassociated with the lighting fixture 102 may be commanded to rotate thelighting fixture 102. Once the scan data returns information that thediscrete points of the lighting fixture 102 have not moved since thelast scan (or since a last number of time interval scans), thecontroller 200 determines that a limit (e.g., an extreme limit, aspecified limit, etc.) of the lighting fixture motion has been reached.Once the limit of one movement direction has been reached, thecontroller 200 can proceed to another motion of the lighting fixture102. Once all possible control motions have been exhausted, thecontroller evaluates the series of limits in each possible controllabledirection to mean the entire scanning process is complete.

In some embodiments, the controller 200 monitors the commands it hasoutput to the one or more motors coupled to or associated with thelighting fixture 102. Because the controller 200 commands the one ormore motors according to a movement routine for scanning purposes, thecontroller 200 monitors what movements are remaining in the routinebased on command string timing data. Similarly, the controller 200monitors the lighting setting commands it has output to the lightingfixture 102 according to the lighting routine for scanning purposes. Thecontroller 200 determines what lighting settings are remaining in theroutine based on the command string timing data.

Additionally or alternatively, the user may be prompted to input whetherall desired movements and/or lighting settings of the lighting fixture102 have been performed. If one or more operations remain, the userinputs the additional operation to be scanned and adjusts the lightingfixture 102 accordingly. Once all operations have been accounted for,the user inputs that the scanning process has been completed.

If there are remaining operations to be performed by the lightingfixture 102, the method 1200 returns to STEP 1204. If there are no moreremaining operations to be performed, the method 1200 proceeds toprocess all the scan data and output a digital model (STEP 1211) usingthe above-described analysis and model generation techniques. Thedigital model is output, for instance, for display by the user device104A-104D.

Once the digital model of the lighting fixture 102 has been completed, auser may input a particular requested operational function of thelighting fixture 102 (STEP 1212). All necessary orientation and mountingdata of the lighting fixture 102 may be included in the request, or theorientation and mounting data may have been previously received by thecontroller 200.

The controller 200 receives the request from the user and determines,based on the model generated at STEP 1211, whether the lighting fixture102 is capable of performing the requested operational function giventhe input orientation and mounting data (STEP 1213). If the lightingfixture 102 is capable of performing the requested operational function,the controller 200 indicates to the user that they may proceed (STEP1214). In some embodiments, the controller 200 proceeds with performingthe requested operational function after determining that theoperational function is achievable by generating one or more controlsignals for the motor or light sources associated with the lightingfixture 102. If the lighting fixture 102 is not capable of performingthe requested operational function, the controller 200 indicates to theuser that the requested function is not possible (STEP 1215).Additionally or alternatively, the controller 200 indicates to the userother appropriate lighting fixtures 102, additional add-on accessoriesavailable for the current lighting fixture 102, other mounting ororientation possibilities for the current lighting fixture 102, and thelike that may be used to accomplish the requested function (STEP 1215).

In some embodiments, the method 1200 does not include STEPS 1204 and1205A, and instead proceeds from STEP 1203 to STEP 1205B. In otherembodiments, the method 1200 does not include STEPS 1204 and 1205B, andinstead proceeds from STEP 1203 to STEP 1205A. In these latterembodiments, the scanning may or may not require three-dimensionalscanning. In some embodiments, the cameras 108 capture only images ofthe light receiving surface 302 of the enclosure 300 as the light isprojected on the receiving surface 302 to determine the lightingcapabilities of the lighting fixture 102.

Thus, embodiments described herein provide methods and systems fordigitally approximating operational capabilities of a lighting fixtureand controlling the lighting fixture based on those operationalcapabilities. Various features and advantages of some embodiments areset forth in the following claims.

What is claimed is:
 1. A method for generating a three-dimensional modelof a lighting fixture, the method comprising: receiving, by anelectronic processor, first scanning data related to the lightingfixture while the light fixture is in a first configuration; adjustingthe configuration of the lighting fixture; receiving, by the electronicprocessor, second scanning data related to the lighting fixture whilethe lighting fixture is in a second configuration; comparing, by theelectronic processor, the first scanning data and the second scanningdata; approximating, by the electronic processor, an operationalcapability of the lighting fixture based on the comparing of the firstscanning data and the second scanning data; performing, by theelectronic processor, three-dimensional mesh reconstruction based on thefirst scanning data and the second scanning data; generating, by theelectronic processor, the three-dimensional model.
 2. The method ofclaim 1, wherein the adjusting the configuration of the lighting fixtureincludes panning the lighting fixture, tilting the lighting fixture,zooming the lighting fixture, moving a shutter of the lighting fixture,moving an iris of the lighting fixture, adding a gobo in the lightingfixture, and/or rotating a gobo in the lighting fixture.
 3. The methodof claim 1, wherein the operational capability is a pan axis of thelighting fixture; and/or wherein the operational capability is a tiltaxis of the lighting fixture.
 4. The method of claim 1, wherein theadjusting the configuration of the lighting fixture includes adjusting acolor of light produced by the lighting fixture, adjusting a brightnessof light produced by the lighting fixture, adjusting an overall shape oflight produced by the lighting fixture, and/or adjusting a focus of alight produced by the lighting fixture.
 5. The method of claim 1,wherein the adjusting the configuration of the lighting fixture includestransmitting, by the electronic processor, a drive signal to thelighting fixture to control of an actuator associated with the lightingfixture.
 6. The method of claim 1, further comprising: transmitting, bythe electronic processor, a drive signal to one or more camerasconfigured to capture the first scanning data and the second scanningdata.
 7. The method of claim 1, wherein the first scanning data and thesecond scanning data include one of images of the lighting fixture andimages of light projected on a surface by the lighting fixture.
 8. Themethod of claim 1, further comprising: receiving, by the electronicprocessor, a selected operation of the lighting fixture, determining, bythe electronic processor, a limitation of operation of the lightingfixture based on the three-dimensional model; and indicating, on a userinterface, the limitation of the operation of the lighting fixture inresponse to the selected operation of the lighting fixture.
 9. Themethod of claim 1, further comprising: generating, by the electronicprocessor, one or more drive signals for an actuator associated with thelighting fixture to control the lighting fixture in accordance with theoperational capability.
 10. A system for generating a three-dimensionalmodel of a lighting fixture, the system comprising: a controller thatincludes an electronic processor coupled to a memory, the memory isconfigured to store instructions that when executed by the electronicprocessor configure the controller to: receive first scanning datarelated to a lighting fixture while the lighting fixture is in a firstconfiguration, receive second scanning data related to the lightingfixture after an adjustment to the lighting fixture to a secondconfiguration, compare the first scanning data and the second scanningdata, approximate an operational capability of the lighting fixturebased on the comparison of the first scanning data and the secondscanning data; perform three-dimensional mesh reconstruction based onthe first scanning data and the second scanning data, and generate thethree-dimensional model.
 11. The system of claim 10, wherein thecontroller is further configured to: pan the lighting fixture, tilt thelighting fixture, zoom the lighting fixture, move a shutter of thelighting fixture, move an iris of the lighting fixture, add a gobo inthe lighting fixture, and/or rotate the gobo in the lighting fixture.12. The system of claim 10, wherein the operational capability is a panaxis of the lighting fixture; and/or the operational capability is atilt axis of the lighting fixture.
 13. The system of claim 10, whereinthe adjustment to the lighting fixture includes a color adjustment, abrightness adjustment, a shape of the light produced adjustment, and/ora focus adjustment.
 14. The system of claim 10, wherein the controlleris further configured to: transmit a drive signal to the lightingfixture to control an actuator associated with the lighting fixture. 15.The system of claim 10, wherein the controller is further configured to:transmit a drive signal to one or more cameras configured to capture thefirst scanning data and the second scanning data.
 16. The system ofclaim 10, wherein the first scanning data and the second scanning datainclude one of images of the lighting fixture and images of lightprojected on a surface by the lighting fixture.
 17. The system of claim10, wherein the controller is further configured to: receive a selectedoperation of the lighting fixture; determine a limitation of operationof the lighting fixture based on the three-dimensional model; andindicate the limitation of the operation of the lighting fixture inresponse to the selected operation of the lighting fixture.
 18. Anon-transitory computer readable medium having stored thereon a programfor generating a three-dimensional model of a lighting fixture, theprogram being executable by an electronic processor to configure theelectronic processor to: receive first scanning data related to thelighting fixture while the light fixture is in a first configuration;receive second scanning data related to the lighting fixture while thelighting fixture is in a second configuration; compare the firstscanning data and the second scanning data; approximate an operationalcapability of the lighting fixture based on the comparison of the firstscanning data and the second scanning data; perform three-dimensionalmesh reconstruction based on the first scanning data and the secondscanning data; and generate the three-dimensional model.
 19. Thenon-transitory computer readable medium of claim 18, wherein the programfurther configures the electronic processor to: adjust a pan, a tilt, azoom , a shutter, an iris, and/or a gobo of the lighting fixture. 20.The non-transitory computer readable medium of claim 18, wherein theoperational capability is a pan axis of the lighting fixture; and/or theoperational capability is a tilt axis of the lighting fixture.
 21. Thenon-transitory computer readable medium of claim 18, wherein the programfurther configures the electronic processor to: adjust a color of lightproduced by the lighting fixture, adjust a brightness of light producedby the lighting fixture, adjust an overall shape of light produced bythe lighting fixture, and/or adjust a focus of a light produced by thelighting fixture.
 22. The non-transitory computer readable medium ofclaim 18, wherein the program further configures the electronicprocessor to: transmit a drive signal to the lighting fixture to controlan actuator associated with the lighting fixture.
 23. The non-transitorycomputer readable medium of claim 18, wherein the program furtherconfigures the electronic processor to: transmit a drive signal to oneor more cameras configured to capture the first scanning data and thesecond scanning data.
 24. The non-transitory computer readable medium ofclaim 18, wherein the first scanning data and the second scanning datainclude one of images of the lighting fixture and images of lightprojected on a surface by the lighting fixture.
 25. The non-transitorycomputer readable medium of claim 18, wherein the program furtherconfigures the electronic processor to: receive a selected operation ofthe lighting fixture; determine a limitation of operation of thelighting fixture based on the three-dimensional model; and indicate, ona user interface, the limitation of the operation of the lightingfixture in response to the selected operation of the lighting fixture.